home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / newsgroups / misc.20010306-20010921 / 000111_fdc@watsun.cc.columbia.edu_Thu May 10 12:59:52 EDT 2001.msg < prev    next >
Text File  |  2020-01-01  |  6KB  |  129 lines

  1. Article: 12402 of comp.protocols.kermit.misc
  2. Path: newsmaster.cc.columbia.edu!watsun.cc.columbia.edu!fdc
  3. From: fdc@watsun.cc.columbia.edu (Frank da Cruz)
  4. Newsgroups: comp.protocols.kermit.misc,comp.unix.programmer
  5. Subject: Re: Need help with Mac OS X 10.0.2
  6. Date: 9 May 2001 15:35:13 GMT
  7. Organization: Columbia University
  8. Lines: 112
  9. Message-ID: <9dbo3h$2ve$1@newsmaster.cc.columbia.edu>
  10. References: <9d9395$rt3@watsun.cc.columbia.edu> <9dbmos$kke$1@jake.esu.edu>
  11. NNTP-Posting-Host: watsun.cc.columbia.edu
  12. X-Trace: newsmaster.cc.columbia.edu 989422513 3054 128.59.39.2 (9 May 2001 15:35:13 GMT)
  13. X-Complaints-To: postmaster@columbia.edu
  14. NNTP-Posting-Date: 9 May 2001 15:35:13 GMT
  15. Xref: newsmaster.cc.columbia.edu comp.protocols.kermit.misc:12402 comp.unix.programmer:128452
  16.  
  17. In article <9dbmos$kke$1@jake.esu.edu>,
  18. David H. Hutchens <hutchens@cs.millersville.edu> wrote:
  19. : I've done further investigation.
  20. Sorry to include your entire posting in this reply, but I'm adding
  21. comp.unix.programmer and this way they'll see it too.  If I knew of a
  22. Mac OS X newsgroup, I'd include that too.  (If anybody knows of such
  23. a group, please repost this thread there and/or let me know.)
  24.  
  25. : The original "SET FLOW NONE" was in effect in the settings I was using
  26. : on the public beta. So I assume that RTS/CTS was issuing the warning
  27. : in the public beta too.
  28. : I recompiled kermit and tried that version... No difference at all.
  29. : I am able to do connections, uploading, and downloading as long as I
  30. : set the buffer size to 512. So I have a "usable" system.
  31. : I get the warning when I dial. And I get about 7 or 8 system beeps
  32. : when I type the first character of my user name to the remote system
  33. : login prompt.
  34. : As to the bug. I can't let you connect to my system. The reason I'm
  35. : using kermit is that I don't otherwise have an internet connection
  36. : from home.
  37. : However, I'm a decent programmer.... I have been programming in C
  38. : since 1980. I have a Ph.D. in CS. I checked the kermit source and
  39. : found that the file ckutio.c seems to be key. It includes sys/ioctl.h
  40. : which includes sys/ttycom.h which contains the definitions of the CTS
  41. : stuff, in particular: TIOCM_CTS.  I verified that my build (macosx10c)
  42. : does, in fact, include the ioctl.h file by typing garbage next to the
  43. : include line and seeing that the compiler choked. All this seems
  44. : normal. I can send you the .h files if you wish. They seem to be
  45. : standard BSD4.4. I can also send the man pages. Again they are
  46. : basically BSD4.4. The main line of interest is:
  47. : ttycom.h:#define     TIOCM_CTS   0040       /* clear to send */
  48. : My best guess is that the current device driver does not respond, as
  49. : kermit expects, with CTS asserted before dialing. I don't know what
  50. : it might do after dialing, but it appears from kermit's response that
  51. : kermit isn't using it (otherwise bigger buffers ought to work).
  52. : I got the Apple Internal Modem AT command documentation from Apple's
  53. : web site. I checked using modem AT commands that the modem is set to
  54. : use RTS/CTS and that it is actually making the connection at about
  55. : 28800 (next one down actually 26400?, the time I checked) with error
  56. : correction and compression enabled. That is what I'd expect since the
  57. : modem I was calling is a 28K V.34 modem.
  58. : So some possibilities:
  59. : 1) The device driver and/or modem waits for a connection before
  60. : passing CTS through and I need to get kermit to ignore the setting
  61. : when dialing and use it later. I'm not sure where exactly to try to
  62. : make that change. Or for that matter, if kermit is already trying that
  63. : as the warning suggests.
  64. : 2) The device driver and/or modem never asserts CTS so there is a bug
  65. : without any easy workaround and I'll just have to file a bug report
  66. : with Apple and wait. Not the worst of problems since I have a limping
  67. : version that I can use.
  68. : Your advice?
  69. The only way to solve this is to have somebody who knows something about
  70. Mac OS X internals sit down and "try this, try that" with the source code:
  71.  
  72.  . Are we using the right API for modem control and hardware flow control?
  73.    Note that many UNIX-based OS's maintain scads of APIs for "compatibility",
  74.    but some of them might be nonfunctional.
  75.  
  76.  . Study the twisted tangle of #ifdefs in ckutio.c carefully, particularly
  77.    around any routine that uses modem signals: tthflow() and tthang().
  78.    Notice all the horrible tricks that have to be used on this and that
  79.    platform to make this stuff work.  Try adjusting the macosx10 makefile
  80.    entry's CFLAGS to select different tricks.
  81.  
  82. Having an internal modem doesn't help matters either, since there's no way
  83. to monitor the modem signals independently of the software -- modem lights,
  84. breakout box, etc.
  85.  
  86. >From my experience with other UNIX OS's, the only other suggestion that
  87. comes to mind is that maybe there are different drivers for the modem
  88. (and therefore different names for the same device) -- one that has modem
  89. control, one that doesn't, and maybe a special one that does hardware
  90. flow control.  If so, maybe if you try another driver everything will
  91. just work (I might have suggested this before).
  92.  
  93. The 4.4BSD path through the code words fine for FreeBSD, NetBSD, OpenBSD,
  94. and BSDI, with a few minor wrinkles, such the following which I discovered
  95. just a few days ago (from the C-Kermit edit history):
  96.  
  97.   While helping a user I discovered that C-Kermit on NetBSD always
  98.   fails to hangup by dropping DTR; the tcsetattr() call always fails
  99.   with EINVAL.  It doesn't like an argument of B0.  The same code works
  100.   fine in FreeBSD.  Found out that the NetBSD tty device driver code is
  101.   broken (for some reason the B0 hangup code is commented out).  The
  102.   workaround is to use ioctl() with TIOCCDTR and TIOCSDTR -- Yet
  103.   Another Hanging Up API.  Added code for this to tthang(), tested in
  104.   NetBSD (which uses it) and FreeBSD (which doesn't).  On BSD44 and
  105.   POSIX systems, the use of this code can be forced by defining
  106.   USE_TIOCSDTR.  ckutio.c, 28 Apr 2001.
  107.  
  108. This is the kind of thing that keeps us busy, making Kermit do simple things
  109. like hanging up modems on all different OS's and OS releases.
  110.  
  111. If you find anything, please report back quickly, since C-Kermit 7.1 needs
  112. to be released soon.
  113.  
  114. - Frank
  115.